From: b.sander
Subject: [PATCH] pci: IDE fix

These are standard probing messages when using pdc202xx_old:
pdc202xx_old 0000:00:01.0: IDE controller (0x105a:0x0d30 rev 0x02)
PCI: Enabling device 0000:00:01.0 (0004 -> 0007)
PCI: Fixing up device 0000:00:01.0
0000:00:01.0: (U)DMA Burst Bit DISABLED Primary PCI Mode Secondary PCI Mode.
0000:00:01.0: FORCING BURST BIT 0x00->0x01 ACTIVE
pdc202xx_old 0000:00:01.0: 100% native mode on irq 6

With the default MAX_HWIFS value after above we get:
    ide2: BM-DMA at 0x0400-0x0407
    ide3: BM-DMA at 0x0408-0x040f
Probing IDE interface ide2...
hde: CF500, CFA DISK drive

As you can see it's ide2 + ide3 and hde.

With this patch applied we get:
    ide0: BM-DMA at 0x0400-0x0407
    ide1: BM-DMA at 0x0408-0x040f
Probing IDE interface ide0...
hda: CF500, CFA DISK drive

This fixes OpenWrt ticket #7061: https://dev.openwrt.org/ticket/7061
---
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -204,7 +204,11 @@ static inline void ide_std_init_ports(st
 	hw->io_ports.ctl_addr = ctl_addr;
 }
 
+#if defined CONFIG_BCM47XX
+# define MAX_HWIFS	2
+#else
 #define MAX_HWIFS	10
+#endif
 
 /*
  * Now for the data we need to maintain per-drive:  ide_drive_t
